package com.example.springinaction.loadvalue;

import org.springframework.beans.factory.annotation.Value;

/**
 * 运行时值注入方式之一 : Spring表达式语言 SpEL
 * SpEL 特性,包括:
 * 1. 使用bean ID来引用bean
 * 2. 调用方法和访问对象的属性
 * 3. 对值进行算术,关系和逻辑运算
 * 4. 正则表达式匹配
 * 5. 集合操作
 */
public class LoadValueBySpEL {

    @Value("#{1}")
    private int num1;

    /**
     * T() 表达式会将java.lang.System视为java中对应的类型.因此可以调用其static修饰 的方法
     */
    @Value("#{T(System).currentTimeMillis()}")
    private long mills;

    @Value("#{systemProperties['code']}")
    private String code;
}
